package com.CRApp.service;

import com.CRApp.pojo.Order;
import java.util.List;
import java.util.Map;

/**
 * 订单服务接口
 */
public interface OrderService {
    
    /**
     * 创建订单
     * @param params 订单参数
     * @param userId 用户ID
     * @return 创建的订单
     */
    Order createOrder(Map<String, Object> params, Integer userId);
    
    /**
     * 批量创建订单
     * @param paramsList 订单参数列表，每个元素包含一个商品的订单信息
     * @param userId 用户ID
     * @return 创建的订单列表
     */
    List<Order> batchCreateOrders(List<Map<String, Object>> paramsList, Integer userId);
    
    /**
     * 获取用户订单列表
     * @param userId 用户ID
     * @return 订单列表
     */
    List<Order> getUserOrders(Integer userId);
    
    /**
     * 获取订单详情
     * @param orderNumber 订单编号
     * @param userId 用户ID
     * @return 订单详情
     */
    Order getOrderDetail(String orderNumber, Integer userId);
    
    /**
     * 更新订单状态
     * @param orderNumber 订单编号
     * @param status 订单状态
     * @param userId 用户ID
     * @return 是否更新成功
     */
    boolean updateOrderStatus(String orderNumber, String status, Integer userId);
    
    /**
     * 取消订单
     * @param orderNumber 订单编号
     * @param userId 用户ID
     * @return 是否取消成功
     */
    boolean cancelOrder(String orderNumber, Integer userId);
    
    /**
     * 删除订单
     * @param orderNumber 订单编号
     * @param userId 用户ID
     * @return 是否删除成功
     */
    boolean deleteOrder(String orderNumber, Integer userId);
} 